package com.itheima.homework16;

import java.lang.reflect.Field;

public class Demo4 {
    /*
    请编写一个方法setProperty，该方法可以接收三个参数，
    第一个为Object类型的obj对象，第二个为String类型的propertyName，
    第三个为Object类型的value，方法的作用是能够为obj对象中名为propertyName的
    属性的值设置为value。在主方法中调用方法进行测试。



     */
    public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
        Student student=new Student("zhangsan",23);
        setProperty(student,"name","lisi");
        System.out.println(student);

    }
    public static void setProperty(Object obj, String propertyName, Object value) throws NoSuchFieldException, IllegalAccessException {
        Class clazz=obj.getClass();
        Field field = clazz.getDeclaredField(propertyName);
        field.setAccessible(true);
        field.set(obj,value);


    }
}
